Systems that utilize timing measurements as a basis for determining position have many useful applications, including surveying and navigation. Examples of such systems are the United States' Global Positioning System ("GPS"), the (former) Union of Soviet Socialist Republics' Global Navigation System ("GLONASS"), and cellular phone based systems incorporating position solutions.
GPS is a positioning system comprising satellite signal transmitters that transmit information from which an observer with a suitable receiver can determine present location on or adjacent to the Earth's surface, as well as make timing measurements such as standard time-of-day or time of observation. The fully operational GPS includes up to 24 earth-orbiting satellites that move with time relative to the earth below. The GPS satellites are substantially uniformly dispersed around six approximately circular non-geosynchronous orbits, each orbit having four satellites. Each satellite is equipped with an atomic clock to provide timing information for the transmitted signals. The GLONASS system also uses 24 satellites dispersed in three orbital planes of eight satellites each. The methods for receiving and analyzing GLONASS signals are similar to the methods used for GPS signals.
Each GPS satellite transmits two carrier signals L1 and L2. The L1 signal from each satellite is modulated with two types of codes and a navigation message. The L2 signal from each satellite is modulated by only one type of code. The navigation message contains information on the ephemerides, that is the position, of all the satellites, GPS time (the standard time-of-day), the clock behavior on the satellites, and GPS status messages. The two types of codes are the C/A-code (coarse/acquisition code) and the P-code (precise code), both of which are pseudorandom noise ("PRN") codes. The C/A-code modulates the L1 signal and is the standard GPS code. It is sometimes referred to as the "civilian code" because most civilian receivers use it. The P-code modulates both the L1 and L2 signals and was designed to provide more accuracy in position determinations than can usually be obtained through use of the C/A-code. The P-code is often used by the military.
All GPS satellite transmissions are derived from the fundamental frequency of 10.23 megahertz (MHZ) and are generated onboard each satellite on the basis of timing information supplied by atomic clocks. The L1 carrier frequency is 1575.42 MHZ and may be determined by multiplying the fundamental frequency by 154. The L2 carrier frequency is 1227.60 MHZ and may be determined by multiplying the fundamental frequency by 120. The rate at which the symbols ("chipping rate") of the P-code are transmitted is the fundamental frequency of 10.23 MHZ, whereas the chipping rate of the C/A-code is 1.023 MHZ, or one-tenth of the fundamental frequency. The C/A-code defines a repeating epoch sequence of 1023 pseudorandom binary bits ("chips") which is biphase modulated onto the L1 GPS carrier signal. The corresponding sequence for the P-code consists of 235 trillion binary bits.
In order to acquire and track a particular source of positioning system information, such as a GPS satellite, a positioning receiver generates a local version of that source's code which is continuously shifted in time to match the code of the incoming signal. The receiver is said to be "code-locked" if the locally generated punctual code can maintain "alignment in time" with the received code. Correlators are used to measure the amount of alignment of the locally generated code with respect to the received code. The output of the correlators, averaged over a particular time period, is used to calculate the amount of shift anticipated to be needed for subsequent time periods. To provide an indication of which way (earlier or later) to time shift the locally generated punctual code signal, additional correlations are performed in most positioning receivers. One correlation is performed with an earlier shifted local code and another with a later shifted local code. The difference between these correlations is used to control the positioning receiver's code generator to advance or retard the code by driving the difference between the correlation amounts to zero.
Because the accumulated result for a correlator varies according to the received signal strength, the maximum correlation value can be difficult to determine. Accordingly, most positioning receivers also include additional correlators to generate accumulated results for other local signals that are shifted in time, i.e. phase shifted, by one-quarter cycle, that is 90 degrees, with respect to the corresponding in-phase signal, commonly referred to as "I" signals. These additional reference signals are called quadrature signals, and are commonly referred to as "Q" signals. Because the received signals and local signals are primarily sinusoidal, an in-phase signal will have maximum power when the power of the corresponding quadrature signal has been driven to zero. When the locally generated code and the received code are aligned in time, the information concerning the alignment as well as the navigation message can be used to obtain both the position of the source and the amount of time, known as the "travel time", that the source's signal requires to reach the positioning receiver.
Travel time is used to calculate position. Accordingly, the accuracy of the position determination depends upon using signals that arrive directly from the source. In practice, however, the receiver antenna is omnidirectional. It will often receive not only the desired direct signal but also signals from the desired source that may have been reflected from nearby objects before reaching it. Since reflected signals take a longer path to reach the antenna than the direct signals, a multipath error is introduced to the position calculations by way of the additional travel time incurred by reflected signals. Moreover, the magnitude and phase of such reflected signals with respect to the direct signal will vary from one antenna environment to another. Such variations are especially problematical when the antenna is moving.
It has been known heretofore to attempt to reduce such multipath error by averaging the collected measurements in order to subtract out multipath induced inaccuracies. This technique however has required that the antenna remain essentially stationary for a period of several minutes, a requirement that cannot be met in many applications. Other known attempts to mitigate multipath induced error have included altering the antenna gain pattern to reduce its sensitivity to low elevation or ground level reflections. Such techniques have not heretofore proved to be entirely reliable.
In general, efforts heretofore to mitigate multipath effects have centered around processing techniques for predicting and then attempting to eliminate the errors induced by the presence in the system of reflected signals. In contrast, the present invention utilizes the distinctive presence of relatively low reflected signal power as a basis for processing a position solution.
Some applications, for example indoor cell phone use, are often limited to observing only multipath reflections. The prior types of receivers have not been sensitive to the use of reflected signals to gain additional measurements. The present invention allows the reflected signal to be enhanced and detected such that a useful measurement may be extracted from the reflected signal. Moreover, the current invention allows the optimal selected use of this measurement with respect to non-reflected signals.